package vista;

import java.awt.Dimension;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.JComboBox;
import javax.swing.ButtonGroup;
import javax.swing.JRadioButton;
import javax.swing.SwingConstants;
import javax.swing.ImageIcon;
import java.io.File;
import controlador.EscuchadorVentanaProfesor;
import modelo.Seccion;

public class VentanaProfesor extends JFrame
{
    private JButton btnNuevoGuardar,btnModificar,btnEliminar,btnSalir;
    private JTextField txtCedula,txtNombre,txtApellido,txtTituloAcademico;
    private JComboBox cbTitulos;
    private JRadioButton rbVenezolano;
    private JRadioButton rbExtranjero;

    public VentanaProfesor(Seccion seccion)
    {
        super("Profesor");
    	String[] titulosAcademicos= {"Ingeniero(a)","Licenciado(a)","Magister","Doctor(a)","Otro"};
        
        ImageIcon imgProfesor= new ImageIcon(getClass().getResource("imagenes" + File.separator + "ventanaprofesor.png"));
        ImageIcon imgGuardar= new ImageIcon(getClass().getResource("imagenes" + File.separator + "guardar.png"));
        ImageIcon imgModificar= new ImageIcon(getClass().getResource("imagenes" + File.separator + "modificar.png"));
        ImageIcon imgEliminar= new ImageIcon(getClass().getResource("imagenes" + File.separator + "eliminar.png"));
        ImageIcon imgSalir= new ImageIcon(getClass().getResource("imagenes" + File.separator + "salir.png"));

        PanelFondo panelFondo= new PanelFondo();
        PanelFrente panelFrente= new PanelFrente();
        
        JLabel lblTitulo= new JLabel("PROFESOR");
        JLabel lblCedula= new JLabel("Cedula:");
        JLabel lblNombre= new JLabel("Nombre:");
        JLabel lblApellido= new JLabel("Apellido:");
        JLabel lblTituloAcademico= new JLabel("Titulo:");
        JLabel lblLogo= new JLabel(imgProfesor);

        JToolBar barraHerramientas= new JToolBar();
       
        btnNuevoGuardar= new JButton("GUARDAR",imgGuardar);
        btnModificar= new JButton("MODIFICAR",imgModificar);
        btnEliminar= new JButton("ELIMINAR",imgEliminar);
        btnSalir= new JButton("SALIR",imgSalir);

        txtCedula= new JTextField();
        txtNombre= new JTextField();
        txtApellido= new JTextField();
        txtTituloAcademico= new JTextField();

        cbTitulos= new JComboBox();
        
        for (String titulo:titulosAcademicos)
            cbTitulos.addItem(titulo);


        ButtonGroup bgNacionalidad= new ButtonGroup();

        rbVenezolano= new JRadioButton("V");
        rbExtranjero= new JRadioButton("E");

        rbVenezolano.setOpaque(false);
        rbExtranjero.setOpaque(false);
        
        rbVenezolano.setSelected(true);

        bgNacionalidad.add(rbVenezolano);
        bgNacionalidad.add(rbExtranjero);


        barraHerramientas.setFloatable(false);
        barraHerramientas.setOpaque(false);
        barraHerramientas.setBorderPainted(false);
       
        btnNuevoGuardar.setVerticalTextPosition(SwingConstants.BOTTOM);
        btnNuevoGuardar.setHorizontalTextPosition(SwingConstants.CENTER);
        btnNuevoGuardar.setOpaque(false);
        btnNuevoGuardar.setBorderPainted(false);

        btnModificar.setVerticalTextPosition(SwingConstants.BOTTOM);
        btnModificar.setHorizontalTextPosition(SwingConstants.CENTER);
        btnModificar.setOpaque(false);
        btnModificar.setBorderPainted(false);

        btnEliminar.setVerticalTextPosition(SwingConstants.BOTTOM);
        btnEliminar.setHorizontalTextPosition(SwingConstants.CENTER);
        btnEliminar.setOpaque(false);
        btnEliminar.setBorderPainted(false);

        btnSalir.setVerticalTextPosition(SwingConstants.BOTTOM);
        btnSalir.setHorizontalTextPosition(SwingConstants.CENTER);
        btnSalir.setOpaque(false);
        btnSalir.setBorderPainted(false);

        barraHerramientas.add(btnNuevoGuardar);
        barraHerramientas.addSeparator();
        barraHerramientas.addSeparator();
        barraHerramientas.add(btnModificar);
        barraHerramientas.addSeparator();
        barraHerramientas.addSeparator();
        barraHerramientas.add(btnEliminar);
        barraHerramientas.addSeparator();
        barraHerramientas.addSeparator();
        barraHerramientas.add(btnSalir);

        
        lblTitulo.setFont(new Font(Font.SERIF,Font.BOLD,20));

        panelFrente.setLayout(null);

        panelFrente.add(lblLogo);
        lblLogo.setBounds(10, 10, 230, 190);

        panelFrente.add(lblCedula);
        lblCedula.setBounds(250, 20, 70, 20);
        lblCedula.setFont(new Font(Font.DIALOG,Font.BOLD,15));

        panelFrente.add(lblNombre);
        lblNombre.setBounds(250, 65, 80, 20);
        lblNombre.setFont(new Font(Font.DIALOG,Font.BOLD,15));

        panelFrente.add(lblApellido);
        lblApellido.setBounds(250, 115, 80, 20);
        lblApellido.setFont(new Font(Font.DIALOG,Font.BOLD,15));

        panelFrente.add(lblTituloAcademico);
        lblTituloAcademico.setBounds(250, 165, 70, 20);
        lblTituloAcademico.setFont(new Font(Font.DIALOG,Font.BOLD,15));

        panelFrente.add(rbVenezolano);
        rbVenezolano.setBounds(345,20, 40, 20);

        panelFrente.add(rbExtranjero);
        rbExtranjero.setBounds(385,20, 40, 20);

        panelFrente.add(txtCedula);
        txtCedula.setBounds(430, 16, 190, 25);

        panelFrente.add(txtNombre);
        txtNombre.setBounds(350, 60, 270, 25);

        panelFrente.add(txtApellido);
        txtApellido.setBounds(350, 110, 270, 25);

        panelFrente.add(cbTitulos);
        cbTitulos.setBounds(350, 160, 119, 25);

        panelFrente.add(txtTituloAcademico);
        txtTituloAcademico.setBounds(470,160,150,25);

        txtTituloAcademico.setVisible(false);
            
        panelFrente.add(barraHerramientas);
        barraHerramientas.setBounds(131, 230, 500, 90);

        panelFondo.setLayout(null);

        panelFondo.add(lblTitulo);
        lblTitulo.setBounds(290, 10,150, 30);

        panelFondo.add(panelFrente);

        add(panelFondo);

        setPreferredSize(new Dimension(740,460));
        setMinimumSize(getPreferredSize());
        
        panelFrente.setBounds(40, 50, 645, 330);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setVisible(true);

        /*Asociando ventana con el escuchador*/
        EscuchadorVentanaProfesor escuchador= new EscuchadorVentanaProfesor(this,seccion);
        this.addWindowListener(escuchador);
        this.cbTitulos.addItemListener(escuchador);
        this.btnNuevoGuardar.addActionListener(escuchador);
        this.btnEliminar.addActionListener(escuchador);
        this.btnModificar.addActionListener(escuchador);
        this.btnSalir.addActionListener(escuchador);
        this.txtCedula.addFocusListener(escuchador);
        this.txtCedula.addKeyListener(escuchador);
        this.txtNombre.addKeyListener(escuchador);
        this.txtApellido.addKeyListener(escuchador);
        /*************************************/
    }


    public JButton getBtnEliminar() {
        return btnEliminar;
    }

    public JButton getBtnModificar() {
        return btnModificar;
    }

    public JButton getBtnNuevoGuardar() {
        return btnNuevoGuardar;
    }

    public JButton getBtnSalir() {
        return btnSalir;
    }

    public JComboBox getCbTitulos() {
        return cbTitulos;
    }

    public JRadioButton getRbExtranjero() {
        return rbExtranjero;
    }

    public JRadioButton getRbVenezolano() {
        return rbVenezolano;
    }

    public JTextField getTxtApellido() {
        return txtApellido;
    }

    public JTextField getTxtCedula() {
        return txtCedula;
    }

    public JTextField getTxtNombre() {
        return txtNombre;
    }

    public JTextField getTxtTituloAcademico() {
        return txtTituloAcademico;
    }

    

}
